﻿using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using WebApplication1.Classes;

namespace WebApplication1
{
    public partial class MeusPedidos1 : BaseRestrictedPage
    {
        protected override void Page_Load(object sender, EventArgs e)
        {
            base.Page_Load(sender, e);

            using (DataBase db = new DataBase())
            {
                List<Pedido> listaPedido = db.GetListaPedidoByCliente(Usuario.Objeto.CPF);//1
                MyDataList.DataSource = listaPedido;
                MyDataList.DataBind();
            }
        }
            
        protected void XXX_Click(object sender, EventArgs e)
        {
            LinkButton botaoClicado = (LinkButton)sender;
            Response.Redirect("~/ListaProdutosPedido.aspx?idPedido=" + botaoClicado.CommandArgument);
        }

        protected void MyDataList_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            Pedido item = (Pedido)e.Item.DataItem;

            Literal litStatus = e.Item.FindControl("litStatus") as Literal;
            Literal litStatusEntrega = e.Item.FindControl("litStatusEntrega") as Literal;
            
            String statusPedido;

			WSLogistica.C06_LogisticaService LogisticaService = new WSLogistica.C06_LogisticaService();

			if (Convert.ToBoolean(ConfigurationManager.AppSettings["IsWifi"]))
				LogisticaService.Url = "http://localhost:8680/c06/services/C06_Logistica?wsdl";

			string[] statusEntrega = LogisticaService.checkStatus(Convert.ToInt32(Convert.ToDouble(item.codRastreamento)), 1);

            if (statusEntrega.Length > 0)
            {
                if (statusEntrega[0]=="0")
                    litStatusEntrega.Text = "Em processamento";
                else
                    if (statusEntrega[0]=="1")
                        litStatusEntrega.Text = "Em transito";
                    else
                        if (statusEntrega[0]=="2")
                            litStatusEntrega.Text = "Atrasado";
                        else
                            if (statusEntrega[0]=="3")
                                litStatusEntrega.Text = "Entregue";
                            else
                                litStatusEntrega.Text = "Cancelado";
            }

            if (item.Pagamento.tipoPagamento == 1)
            {
                WSMeioPagamentoBanco.BancoServiceWeb meioPagBanco = new WSMeioPagamentoBanco.BancoServiceWeb();
                statusPedido = meioPagBanco.VerificaStatusPagamento(item.Pagamento.idTransacao, true);
                if (statusPedido == "S05_R01")
                {
                    statusPedido = "Pendente";
                }
                else
                    if (statusPedido == "S05_R02")
                    {
                        statusPedido = "Efetuado";
                    }
            }
            else
            {
                if (item.Pagamento.statusCartaoCredito == 0)
                {
                    statusPedido = "Transacao bem sucedida";
                }
                else
                //if (item.Pagamento.statusCartaoCredito == 1)
                {
                    statusPedido = "Transacao não autorizada";
                }

            }

            litStatus.Text = statusPedido;
        }
    }
}